package com.xique.door.service;



import com.xique.door.bean.domain.PermissionGroupUser;
import com.xique.door.bean.request.permissionGroup.PermissionGroupUserRequest;
import com.xique.door.bean.search.PermissionGroupSelectUserSearch;

import java.util.List;

/**
 * 权限组用户Service接口
 *
 * @author ww
 * @date 2021-06-17
 */
public interface IPermissionGroupUserService {

    /**
     * 查看权限组用户列表
     *
     * @param groupIds
     * @return
     */
    List<PermissionGroupUser> selectPermissionGroupUserListByGroupIds(List<Long> groupIds);

    /**
     * 查询权限组用户列表
     *
     * @param permissionGroupUser 权限组用户
     * @return 权限组用户集合
     */
    List<PermissionGroupUser> selectPermissionGroupUserList(PermissionGroupUser permissionGroupUser);

    /**
     * 查询权限组用户列表
     *
     * @param search 入参
     * @return java.util.List<com.jzy.oms.access.permissionGroup.user.bean.domain.PermissionGroupUser>
     * @author shd
     * @date 2021/7/7 11:22
     */
    List<PermissionGroupUser> selectPermissionGroupUserListBySearch(PermissionGroupSelectUserSearch search);

    /**
     * 批量删除权限组用户
     * @author shd
     * @date 2021/7/7 15:32
     * @param ids
     * @return int
     */
    int batchDeletePermissionGroupUser(List<Long> ids);

    /**
     * 删除权限组用户
     * @author shd
     * @date 2021/7/7 15:32
     * @param id
     * @return int
     */
    int deletePermissionGroupUser(Long id);

    /**
     * 批量插入权限组用户
     * @author shd
     * @date 2021/7/8 16:14
     * @param list
     * @return int
     */
    int batchInsertPermissionGroupUser(List<PermissionGroupUser> list);

    /**
     * 查询已添加的用户列表
     * @author shd
     * @date 2021/7/8 14:56
     * @param request
     * @return com.ruoyi.common.core.domain.AjaxResult
     */
    List<PermissionGroupUser> selectAllocatedUserList(PermissionGroupUserRequest request);

    /**
     * 查询未添加的用户列表
     * @author shd
     * @date 2021/7/8 14:56
     * @param request
     * @return com.ruoyi.common.core.domain.AjaxResult
     */
    List<PermissionGroupUser> selectUnallocatedUserList(PermissionGroupUserRequest request);
}
